模块介绍

模块是我们对“关注点分离”的实践,在实际开发过程中,对项目功能进行合理的拆分,有以下优点:

  • 关注点分离,降低复杂度。
  • 帮助我们更清晰的梳理接口。
  • 更好的实现并行开发。
  • 提高项目的可维护性。

层级结构划分

模块本不是语言(C#)中的概念,也不是框架(ASP.NET)中的概念,所以我们也不会引入“模块化”的概念,不需要遵循什么“模块化”开发原则或步骤。

在我们的实践中,模块仅仅是项目层级的划分。它具有以下特点:

  • 模块统一存储在src\Modules目录中。
  • 一个模块对应一个独立的程序集(项目)。
  • 模块依赖于Application项目,以共用实体、数据操作等基础实现。

一个模块通常包含以下内容:

  • Models,与模块相关的DTO
  • IManager,与模块相关的业务接口定义
  • Manager,与模块相关的业务实现
  • Controller,与模块相关的接口

模块的使用

要想使模块层级的代码发挥作用,只需要在接口项目中引用它即可。